Thuật toán phân cụm là gì? Các bài báo nghiên cứu khoa học

Thuật toán phân cụm là kỹ thuật học máy không giám sát giúp chia dữ liệu thành các nhóm sao cho điểm trong cùng nhóm có đặc điểm tương đồng cao. Chúng hoạt động dựa trên khoảng cách, mật độ hoặc mô hình thống kê để phát hiện cấu trúc ẩn mà không cần nhãn đầu vào.

Khái niệm thuật toán phân cụm

Thuật toán phân cụm (clustering algorithm) là nhóm thuật toán trong học máy không giám sát nhằm phân chia tập dữ liệu thành nhiều nhóm sao cho các điểm dữ liệu trong cùng một cụm có đặc điểm tương đồng cao, còn điểm thuộc các cụm khác nhau thì có đặc điểm khác biệt rõ rệt. Đây là công cụ quan trọng trong khai phá dữ liệu khi chưa có nhãn phân loại, cho phép mô hình phát hiện cấu trúc ẩn trong dữ liệu.

Phân cụm không yêu cầu đầu vào là các nhãn đã được định nghĩa, mà thay vào đó, nó dựa trên các tiêu chí đo độ tương đồng như khoảng cách, mật độ hoặc phân phối xác suất để nhóm dữ liệu. Kết quả phân cụm có thể được sử dụng như bước tiền xử lý hoặc khai thác thông tin trong các tác vụ như phân đoạn ảnh, phân tích văn bản, gợi ý sản phẩm, sinh học phân tử và nhiều lĩnh vực liên ngành khác.

Một số đặc điểm nổi bật của phân cụm:

  • Không giám sát, không yêu cầu nhãn dữ liệu
  • Cho phép phát hiện nhóm dữ liệu tiềm ẩn trong không gian đa chiều
  • Kết quả có thể được đánh giá bằng chỉ số nội tại hoặc so với phân cụm lý tưởng (nếu có)

Mục tiêu và nguyên lý hoạt động

Mục tiêu của phân cụm là tối đa hóa sự tương đồng trong nội bộ cụm (intra-cluster similarity) và đồng thời tối thiểu hóa sự tương đồng giữa các cụm (inter-cluster dissimilarity). Điều này thường được thể hiện bằng các hàm mục tiêu hoặc hàm lỗi mà thuật toán cố gắng tối ưu trong quá trình học.

Đối với các thuật toán dựa trên khoảng cách như K-means, một chỉ số phổ biến là tổng sai số bình phương (SSE - Sum of Squared Errors), được định nghĩa như sau:

SSE=i=1kxCixμi2SSE = \sum_{i=1}^{k} \sum_{x \in C_i} \|x - \mu_i\|^2

Trong đó: kk là số cụm, CiC_i là tập hợp điểm trong cụm thứ ii, xx là điểm dữ liệu, và μi\mu_i là trung tâm cụm thứ ii. Thuật toán sẽ lặp đi lặp lại quá trình gán điểm và cập nhật trung tâm cho đến khi SSE đạt giá trị cực tiểu hoặc hội tụ.

Tùy vào từng thuật toán, nguyên lý hoạt động có thể thay đổi, ví dụ thuật toán dựa trên mật độ như DBSCAN hoạt động dựa trên định nghĩa điểm lõi (core point) và vùng lân cận mật độ đủ, còn thuật toán phân cấp dựa trên cấu trúc cây phân cấp dữ liệu. Sự lựa chọn nguyên lý phù hợp phụ thuộc vào đặc điểm dữ liệu và mục tiêu phân tích.

Phân loại thuật toán phân cụm

Các thuật toán phân cụm được chia thành nhiều nhóm dựa trên cách tiếp cận và cấu trúc cụm mà chúng tìm kiếm. Dưới đây là các loại phổ biến nhất trong thực tế và nghiên cứu:

  • Phân cụm phân vùng (Partitioning): chia dữ liệu thành kk cụm rời nhau. Ví dụ: K-means, K-medoids.
  • Phân cụm phân cấp (Hierarchical): tạo cây phân cấp mô tả mối quan hệ giữa các điểm. Ví dụ: Agglomerative, Divisive.
  • Phân cụm mật độ (Density-based): xác định cụm dựa vào vùng có mật độ điểm cao. Ví dụ: DBSCAN, OPTICS.
  • Phân cụm dựa trên lưới (Grid-based): chia không gian dữ liệu thành lưới. Ví dụ: STING, CLIQUE.
  • Phân cụm mô hình (Model-based): giả định dữ liệu tuân theo phân phối xác suất. Ví dụ: Gaussian Mixture Models (GMM).

Mỗi loại thuật toán có ưu điểm và nhược điểm riêng. Ví dụ, phân cụm phân vùng nhanh nhưng không phù hợp với cụm có hình dạng phi tuyến, trong khi phân cụm mật độ phát hiện tốt cụm có hình dạng bất kỳ nhưng khó lựa chọn tham số.

Bảng dưới đây tóm tắt so sánh một số đặc trưng của các nhóm thuật toán:

Loại thuật toán Ví dụ Yêu cầu biết số cụm Phát hiện cụm phi tuyến Xử lý nhiễu
Phân vùng K-means, K-medoids Không Kém
Phân cấp Agglomerative Không Trung bình Kém
Mật độ DBSCAN Không Tốt Tốt
Mô hình GMM Tốt Trung bình

K-means và các biến thể

K-means là một trong những thuật toán phân cụm cổ điển và được sử dụng rộng rãi nhất. Nó hoạt động bằng cách chia dữ liệu thành kk cụm bằng cách tối thiểu hóa hàm mất mát SSE như đã mô tả ở trên. Thuật toán khởi tạo kk trung tâm ngẫu nhiên, sau đó lặp lại hai bước: gán mỗi điểm dữ liệu vào cụm có trung tâm gần nhất và cập nhật trung tâm cụm bằng trung bình các điểm thuộc cụm đó.

Một hạn chế lớn của K-means là nhạy cảm với giá trị khởi tạo. Các trung tâm ban đầu không hợp lý có thể dẫn đến hội tụ về nghiệm cục bộ. Để khắc phục, thuật toán K-means++ được đề xuất, trong đó việc chọn trung tâm ban đầu được thực hiện có chủ đích dựa trên xác suất phân bố theo khoảng cách, giúp cải thiện đáng kể độ ổn định của kết quả (Arthur & Vassilvitskii, 2007).

K-means phù hợp với dữ liệu tuyến tính, cụm hình cầu và không chồng lấn. Tuy nhiên, trong thực tế, các cụm có thể có hình dạng phức tạp, mật độ không đồng đều hoặc chứa nhiễu. Trong những trường hợp đó, các thuật toán khác như DBSCAN hoặc GMM thường được ưu tiên sử dụng.

Thuật toán DBSCAN và phân cụm dựa trên mật độ

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) là một thuật toán phân cụm không yêu cầu biết trước số lượng cụm, được thiết kế để phát hiện các vùng dữ liệu có mật độ cao và tách biệt điểm nhiễu. DBSCAN hoạt động dựa trên khái niệm “vùng lân cận mật độ đủ lớn” thay vì khoảng cách giữa các cụm trung tâm như trong K-means.

Thuật toán sử dụng hai tham số chính: ε\varepsilon (epsilon) là bán kính tìm kiếm vùng lân cận, và MinPts là số điểm tối thiểu trong vùng này để được xem là một vùng mật độ cao. Một điểm dữ liệu được gọi là "core point" nếu trong bán kính ε\varepsilon có ít nhất MinPts điểm. Các điểm lân cận của core point cũng sẽ trở thành một phần của cụm nếu chúng nằm trong vùng ảnh hưởng đó.

DBSCAN phân biệt rõ ba loại điểm:

  • Core point: điểm có đủ mật độ trong ε\varepsilon-neighborhood
  • Border point: nằm trong ε\varepsilon-neighborhood của core point nhưng không phải core point
  • Noise point: không thuộc bất kỳ cụm nào

DBSCAN hiệu quả với cụm có hình dạng phi tuyến, kích thước không đồng đều và có khả năng loại bỏ nhiễu. Tuy nhiên, việc chọn đúng giá trị ε\varepsilon và MinPts không luôn dễ dàng và có thể ảnh hưởng lớn đến kết quả phân cụm. Một cách chọn ε\varepsilon phổ biến là dùng biểu đồ khoảng cách k-láng giềng (k-distance graph) để xác định điểm “gãy khúc” rõ ràng.

Phân cụm phân cấp (Hierarchical Clustering)

Phân cụm phân cấp xây dựng một cấu trúc dạng cây (dendrogram) biểu diễn mối quan hệ lồng nhau giữa các điểm dữ liệu. Thuật toán không cần biết trước số lượng cụm và rất trực quan để khám phá cấu trúc phân tầng trong dữ liệu.

Có hai chiến lược chính:

  • Agglomerative (gộp dần): khởi đầu từ mỗi điểm là một cụm riêng biệt, sau đó lần lượt gộp hai cụm gần nhất cho đến khi chỉ còn một cụm duy nhất.
  • Divisive (chia dần): bắt đầu từ một cụm duy nhất chứa toàn bộ dữ liệu, sau đó tách dần thành các cụm nhỏ hơn.

Khoảng cách giữa các cụm được xác định bằng nhiều phương pháp:

  • Liên kết đơn (single linkage): khoảng cách giữa hai điểm gần nhất của hai cụm
  • Liên kết đầy đủ (complete linkage): khoảng cách giữa hai điểm xa nhất
  • Liên kết trung bình (average linkage): trung bình khoảng cách giữa tất cả các cặp điểm

Phân cụm phân cấp có độ linh hoạt cao và cung cấp cái nhìn trực quan tốt, nhưng có chi phí tính toán lớn – thường là O(n3)O(n^3), không phù hợp với dữ liệu lớn nếu không áp dụng chiến lược tối ưu hóa.

Đánh giá chất lượng phân cụm

Do phân cụm là một bài toán không giám sát, việc đánh giá chất lượng cụm là một vấn đề quan trọng và không dễ dàng. Có hai loại chỉ số đánh giá chính: chỉ số nội tại (dựa vào đặc điểm cụm) và chỉ số ngoại tại (so sánh với nhãn có sẵn nếu có).

Một số chỉ số đánh giá nội tại phổ biến:

  • Silhouette Coefficient: đánh giá mức độ phù hợp của mỗi điểm với cụm được gán so với cụm gần nhất kế tiếp.
  • Dunn Index: tỉ lệ giữa khoảng cách nhỏ nhất giữa các cụm với đường kính lớn nhất của cụm bất kỳ.
  • Calinski-Harabasz Index: tỉ lệ giữa phương sai giữa cụm và trong cụm.

Ví dụ công thức tính hệ số Silhouette:

s(i)=b(i)a(i)max{a(i),b(i)}s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}}

Trong đó, a(i)a(i) là khoảng cách trung bình giữa điểm ii và các điểm trong cùng cụm, còn b(i)b(i) là khoảng cách trung bình đến cụm gần nhất khác. Giá trị s(i)s(i) nằm trong [-1, 1], giá trị càng gần 1 cho thấy phân cụm càng hiệu quả.

Ngoài ra, nếu có nhãn dữ liệu thực (ground truth), ta có thể sử dụng các chỉ số ngoại tại như Adjusted Rand Index (ARI), Normalized Mutual Information (NMI) hoặc Fowlkes-Mallows Index để đánh giá độ tương đồng giữa nhãn và kết quả phân cụm.

Ứng dụng thực tiễn của phân cụm

Phân cụm được áp dụng trong nhiều lĩnh vực khác nhau nhờ khả năng phát hiện nhóm tự nhiên trong dữ liệu. Trong thị trường, doanh nghiệp sử dụng phân cụm để phân khúc khách hàng dựa trên hành vi mua hàng, độ tuổi, vị trí địa lý. Trong sinh học, thuật toán giúp phân nhóm gen có chức năng tương đồng hoặc xác định loại tế bào dựa trên biểu hiện gen.

Trong thị giác máy tính, phân cụm được ứng dụng trong phân đoạn ảnh, nhận dạng đối tượng và trích xuất đặc trưng. Trong xử lý ngôn ngữ tự nhiên, nó hỗ trợ phân nhóm văn bản, phát hiện chủ đề và xây dựng hệ thống gợi ý nội dung.

Ứng dụng phổ biến:

  • Phân tích thị trường: phân đoạn khách hàng, định vị thương hiệu
  • Sinh học phân tử: phân tích RNA, phân nhóm gen
  • An ninh mạng: phát hiện bất thường, phân tích hành vi
  • Y tế: phân tích hồ sơ bệnh án, nhóm triệu chứng

Nhiều thư viện mã nguồn mở như Scikit-learn (Python) và cluster (R) hỗ trợ đầy đủ các thuật toán phân cụm, giúp việc triển khai trở nên dễ dàng hơn trong thực tiễn.

Hạn chế và thách thức

Mặc dù hữu ích, các thuật toán phân cụm vẫn tồn tại nhiều hạn chế. Hầu hết các phương pháp nhạy cảm với tham số đầu vào, ví dụ như số cụm kk trong K-means hoặc ε\varepsilon trong DBSCAN. Việc chọn sai giá trị có thể dẫn đến kết quả phân cụm sai lệch.

Phân cụm cũng khó áp dụng hiệu quả với dữ liệu có chiều cao (high-dimensional data) do hiện tượng "lời nguyền chiều không gian" làm giảm đáng kể hiệu quả của các tiêu chí đo khoảng cách. Ngoài ra, khó đánh giá chất lượng phân cụm trong điều kiện không có ground truth.

Các hướng nghiên cứu mới tập trung vào:

  • Phát triển thuật toán phân cụm thích nghi với dữ liệu phức tạp
  • Kết hợp phân cụm với học sâu (deep clustering)
  • Phân cụm bán giám sát hoặc tích hợp dữ liệu từ nhiều nguồn
  • Phân cụm thời gian thực cho dữ liệu streaming

Tài liệu tham khảo

  1. Jain, A.K. (2010). "Data clustering: 50 years beyond K-means." Pattern Recognition Letters. https://doi.org/10.1016/j.patrec.2009.09.011
  2. Arthur, D., & Vassilvitskii, S. (2007). "K-means++: The advantages of careful seeding." Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms. https://proceedings.mlr.press/v2/arthur07a/arthur07a.pdf
  3. Schubert, E. et al. (2017). "DBSCAN revisited, revisited." ACM Transactions on Database Systems. https://doi.org/10.1145/3068335
  4. Pedregosa, F. et al. (2011). "Scikit-learn: Machine Learning in Python." Journal of Machine Learning Research. https://jmlr.csail.mit.edu/papers/v12/pedregosa11a.html
  5. Kaufman, L., & Rousseeuw, P.J. (2009). Finding Groups in Data: An Introduction to Cluster Analysis. Wiley.

Các bài báo, nghiên cứu, công bố khoa học về chủ đề thuật toán phân cụm:

Phương pháp phân tích định lượng điểm khuỷu cho số lượng cụm tối ưu trong thuật toán phân cụm Dịch bởi AI
EURASIP Journal on Wireless Communications and Networking - - 2021
Tóm tắtPhân cụm, một phương pháp học máy truyền thống, đóng vai trò quan trọng trong phân tích dữ liệu. Hầu hết các thuật toán phân cụm phụ thuộc vào một số lượng cụm chính xác đã được xác định trước, trong khi trên thực tế, số lượng cụm thường là không thể đoán trước. Mặc dù phương pháp Khuỷu tay là một trong những phương pháp thường được sử dụng để phân biệt số c...... hiện toàn bộ
Thuật toán phân cụm mờ xác xuất C-mean dựa trên cải tiến của thuật toán tìm kiếm Cuckoo cho bài toán phân cụm dữ liệu
Tạp chí Nghiên cứu Khoa học và Công nghệ quân sự - Số CSCE6 - Trang 3-15 - 2022
Thuật toán phân cụm mờ xác xuất C-mean (PFCM) là một thuật toán phân cụm mạnh mẽ. Nó là sự kết hợp của hai thuật toán phân cụm mờ C-mean (FCM) và phân cụm xác xuất C-mean (PCM). Thuật toán PFCM giải quyết các điểm yếu của FCM trong việc xử lý với dữ liệu có nhiều nhiễu và các điểm yếu của PCM trong trường hợp các cụm chồng lấp. Tuy nhiên, PFCM vẫn có một điểm yếu chung là thuật toán phân cụm dễ rơ...... hiện toàn bộ
#Possibilistic fuzzy c-means; Cuckoo Search; Improved Cuckoo Search; Fuzzy clustering.
Nghiên cứu và áp dụng thuật toán phân tích chuyên sâu để lựa chọn giải pháp EOR tối ưu cho các mỏ dầu khí ở Việt Nam
Khoa học Kỹ thuật Mỏ Địa chất - - Trang 17-29 - 2021
Áp dụng các phương pháp nâng cao hệ số thu hồi dầu (EOR) cho các mỏ dầu khí luôn tiềm ẩn nhiều rủi ro về kỹ thuật và kinh tế do các dự án EOR chịu ảnh hưởng của nhiều yếu tố như: cấu trúc vỉa chứa, thành hệ, tính chất địa chất, thông số công nghệ mỏ, công nghệ khai thác, công nghệ của phương pháp EOR,... Có một số phương pháp EOR đã áp dụng thành công trên thế giới nhưng khi áp dụng vào mỏ cụ thể ...... hiện toàn bộ
#Nâng cao hệ số thu hồi dầu #Phân tích chuyên sâu #Phương pháp chuyên gia #Thuật toán phân cụm #Tiêu chí lựa chọn
CẢI TIẾN TOÁN TỬ ĐỘT BIẾN TRONG THUẬT TOÁN TIẾN HÓA ĐA NHÂN TỐ GIẢI BÀI TOÁN CÂY KHUNG PHÂN CỤM ĐƯỜNG ĐI NGẮN NHẤT
TẠP CHÍ KHOA HỌC - ĐẠI HỌC TÂY BẮC - Tập 0 Số 22 - 2022
Bài toán cây khung phân cụm đường đi ngắn nhất được ứng dụng nhiều trong tối ưu hệ thống tưới tiêu nông nghiệp, hệ thống cáp mạng và mạng lưới phân phối hàng hóa, dịch vụ. Do bài toán cây khung phân cụm đường đi ngắn nhất thuộc lớp bài toán NP-Khó nên các hướng tiếp cận gần đây thường sử dụng các thuật toán xấp xỉ để tìm lời giải, trong đó, hướng tiếp cận sử dụng kết hợp giữa thuật toán tiến hóa đ...... hiện toàn bộ
Phân cụm mờ dựa trên vùng cho phân đoạn hình ảnh Dịch bởi AI
Soft Computing - Tập 23 - Trang 3081-3093 - 2017
Phương pháp phân cụm mờ C-means đã được áp dụng để phân đoạn hình ảnh, nhưng nó nhạy cảm với tiếng ồn và các dị vật trong hình ảnh do không xem xét thông tin từ hàng xóm. Để giải quyết vấn đề này, nhiều thuật toán cải tiến đã được đề xuất, chẳng hạn như thuật toán phân cụm thông tin cục bộ mờ (FLICM). Tuy nhiên, kết quả phân đoạn của FLICM không đạt yêu cầu khi áp dụng cho các hình ảnh phức tạp. Đ...... hiện toàn bộ
#Phân cụm mờ #phân đoạn hình ảnh #thông tin cục bộ #độ tương quan pixel #thuật toán cải tiến
Phân rã nút đơn giản hóa và lựa chọn đầu đoàn: một thuật toán mới cho phân rã nút trong mạng ad hoc xe cộ Dịch bởi AI
Artificial Life and Robotics - Tập 22 - Trang 44-50 - 2016
Bài báo này giới thiệu một thuật toán định tuyến dựa trên cụm có tên là Thuật toán Lựa chọn Đầu Đoàn (SNAP), phục vụ cho việc giao tiếp trong Mạng Ad hoc Xe Cộ (VANET). Điểm mới chính của bài báo là hai thuật toán được đề xuất, qua đó xác định số lượng các đoàn và đầu đoàn (PH) nhằm tăng cường tuổi thọ của mạng. Thuật toán-1 phân tích sự phân bố của các nút và tạo ra một tập hợp số lượng đoàn tối ...... hiện toàn bộ
#Mạng ad hoc xe cộ #thuật toán định tuyến #phân cụm #đầu đoàn #tuổi thọ mạng #phân rã nút
Thuật Toán Siêu Mở Rộng cho Phát Hiện Đoạn Ngắn Dịch bởi AI
Statistics in Biosciences - Tập 13 - Trang 18-33 - 2020
Trong nhiều ứng dụng như phát hiện biến thể số bản sao (CNV), mục tiêu là xác định các đoạn ngắn mà tại đó các quan sát có nghĩa hoặc trung vị khác với nền tảng. Những đoạn này thường ngắn và bị ẩn trong một chuỗi dài, do đó rất khó phát hiện. Chúng tôi nghiên cứu một thuật toán phát hiện đoạn ngắn siêu mở rộng (4S) trong bài báo này. Phương pháp phi tham số này phân cụm các vị trí mà tại đó các q...... hiện toàn bộ
#thuật toán phát hiện đoạn ngắn #biến thể số bản sao #phân cụm phi tham số #nhiễu Gaussian #các đoạn đã phát hiện
So khớp chức năng giữa các tệp thực thi nhị phân: thuật toán và tính năng hiệu quả Dịch bởi AI
Springer Science and Business Media LLC - Tập 15 - Trang 307-323 - 2019
Sự so sánh nhị phân bao gồm việc so sánh sự khác biệt về cú pháp và ngữ nghĩa của hai chương trình ở dạng nhị phân, khi mã nguồn không khả dụng. Nó có thể được giảm thiểu thành một bài toán đồng dạng đồ thị giữa các Đồ thị Luồng Điều khiển (Control Flow Graphs - CFG), Đồ thị Gọi (Call Graphs) hoặc các dạng đồ thị khác của các chương trình được so sánh. Ở đây, chúng tôi giới thiệu REveal, một công ...... hiện toàn bộ
#so khớp nhị phân #thuật toán so sánh nhị phân #Đồ thị Luồng Điều khiển #phần mềm độc hại #phân cụm
Thuật toán phân cụm c-means mờ dựa trên MapReduce: thực hiện và khả năng mở rộng Dịch bởi AI
International Journal of Machine Learning and Cybernetics - Tập 6 - Trang 923-934 - 2015
Quản lý và phân tích dữ liệu lớn đã được xác định là một trong những nhu cầu phát sinh quan trọng nhất trong những năm gần đây. Điều này là do khối lượng dữ liệu khổng lồ và sự phức tạp ngày càng tăng của dữ liệu đang được tạo ra hoặc thu thập. Các thuật toán phân cụm hiện tại không thể xử lý dữ liệu lớn, do đó, cần có các giải pháp có thể mở rộng. Vì các thuật toán phân cụm mờ đã chứng tỏ hiệu qu...... hiện toàn bộ
#thuật toán phân cụm #dữ liệu lớn #phân cụm mờ #c-means mờ #khả năng mở rộng #MapReduce
Tổng số: 40   
  • 1
  • 2
  • 3
  • 4